package com.bicon.botu.mall.goods.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.bicon.botu.mall.goods.dto.ProductSalesVolumeDTO;
import com.bicon.botu.mall.goods.entity.ProductRepertory;
import com.bicon.botu.mall.goods.vo.DrugPriceVo;
import com.bicon.botu.mall.goods.vo.ProductRepertoryInfo;
import com.bicon.botu.mall.goods.vo.ProductSkuVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 产品库存 Mapper 接口
 * </p>
 *
 * @author 孙永刚
 * @since 2017-07-20
 */
@Repository
public interface ProductRepertoryMapper extends BaseMapper<ProductRepertory> {

    /**
     * 获取商品库存信息
     *
     * @param page
     * @param map
     * @return
     */
    List<ProductRepertoryInfo> getProductInfo(Page<ProductRepertoryInfo> page, Map<String, String> map);

    /**
     * 获取商品sku信息
     *
     * @param productId
     * @return
     */
    List<ProductSkuVo> getProductSku(String productId);

    /**
     * 根据id查询商品sku价格
     *
     * @param skuIdList sku集合
     * @return
     */
    List<DrugPriceVo> findBySkuId(List<String> skuIdList);

    /**
     * 库存告警
     * @return
     */
    List<ProductSalesVolumeDTO> repertoryWarmTotal();

    /**
     * 商品销量TOP10
     * @return
     */
    List<ProductSalesVolumeDTO> salesVolumeTop10();

    /**
     * 商品销量TOP 根据时间查询
     * @return
     */
    List<ProductSalesVolumeDTO> salesVolumeTop10ByTime(@Param("startTime") String startTime, @Param("endTime") String endTime);

}